home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Macademic for Students & Teachers
/
Macademic for Students and Teachers (Quantum Leap)(1992).iso
/
Mathematics
/
FractaSketch
/
Fracta Hints
next >
Wrap
Text File
|
1988-07-04
|
7KB
|
143 lines
Hints for FractaSketch
----------------------
In order to use the program FractaSketch to the fullest, I have compiled
a bunch of miscellaneous intelligent and hare-brained comments and tips,
which are listed forthwith.
In the following hints I use the term “template” to mean the simple
connected figure of line segments which is entered through the
Template menu. The term “teragon” is used to mean the fractal as it
is drawn, with all drawing properties selected from the Draw, Scale,
Mode, and Line menus. This comes from “tera” (for a huge quantity),
and “gon” (as in polygon), to mean a polygon with a huge number of
sides. The term “teragon” is coined in Mandelbrot's book.
FractaSketch can only be run on a 512K Mac, as it uses
more than 100K of memory for program and data. Sorry, folks.
Drawing
-------
When any change is made to a teragon's drawing properties it is redrawn
immediately. This allows for rapid viewing of changes without having to
choose a level from the Draw menu.
“Set Position” allows you to set where on the screen drawing will take
place. Select it and then click and drag. The drawing will be moved.
Pressing a key without clicking the mouse will cancel the command.
“Centered” will initialize the teragon size and position. If you are lost
with too many scale and position changes it lets you find your way back
quickly.
“Higher Level” in the Draw menu allows the level to go beyond 10, for
very detailed drawings. The spirals are a good example of this.
This is only usable if the number of active segments (i.e. attribute
different from 9 or 0) is one or two. Execution time can increase beyond
the estimated life of the universe, but will always remain finite.
The maximum level allowed in this version is 100.
Templates
---------
When entering a template it is preferable to choose menu entries through
the keyboard. Using the mouse works too, but it's not a pretty sight with
the moving segment tagging along!
The “Undo” command allows any number of segments to be removed from a
template.
There is a limit on the number of segments in a template. In this
version of FractaSketch it is 100. The program will beep if you attempt
to go beyond that limit. A beep is also given as a warning when you are
ten segments short of the maximum.
Always use the hex grid or the square grid when entering a template,
unless the segments must have special lengths. The small square grid
is a compromise in which positioning is easier than with no grid.
If a template has only one segment, or if the beginning point coincides
with the ending point, the program will not let you complete entering it.
The vertical coordinate of the last point of a template is fudged by the
program so the template is horizontal. This is necessary for the
recursive drawing algorithm.
With the “Save Fractal” command a teragon is stored as a text file. The
picture itself is not stored, only the information necessary to recreate it.
All of the fractal's internal state information is stored.
The “Save as TEXT” and “Save as PICT” commands allow the fractal to be saved
in TEXT or PICT format. The PICT file can be read by MacDraw or other drawing
programs. The TEXT file can be read and modified directly by a text editor
and read by FractaSketch. This allows you to inspect and change the teragon
indirectly, by fiddling with the numbers.
The “Open Fractal” command checks the format of the file to make sure it
represents a teragon. It can read TEXT files and fractal files. It does NOT
check for consistency of data. Only some of the data is needed to actually
draw the teragon, but it is advised to keep the data consistent when altering
it so later additions to FractaSketch will work.
The representation of a teragon in a file:
(An asterix means the datum must be correct for correct drawing)
First line: string “D=x.xxxx” (D=dimension of the fractal).
Second line:
* Number of points (=number of segments+1) (integer),
Third line:
* Drawing scale (fixed point),
* Horizontal drawing origin (fixed point,hex),
* Vertical drawing origin (fixed point,hex),
* Level of drawing (integer),
* Pensize of drawing (integer),
* Mode of drawing (integer).
Following lines:
(except that the fourth line is not used for drawing purposes)
Horizontal coordinate of point (fixed point,hex),
Vertical coordinate of point (fixed point,hex),
* Scaled segment length (fixed point,hex),
Attribute number (integer),
Absolute angle of segment (float),
* Relative angle between this segment and previous one (float),
* Backward orientation flag (1=draw backwards,0=forwards),
* Bottom out recursion flag (1=stop recursion,0=continue),
* Invert drawing flag (1=invert drawing of this segment),
* Left orientation flag (1=draw left, 0=draw right).
The theoretical dimension (rightmost menu “D=x.xxxx”) is accurate in
most cases, unless there are overlapping segments. It uses the formula
Sum(scaled segment lengths^D) = 1. All segments are used in this sum
except those for which recursion bottoms out.
“Empirical Dimension” will determine the dimension by counting pixels
in two teragons of different scale. This approximates the definition of
the Hausdorff-Besicovitch dimension. The calculation takes several
minutes, and the accuracy leaves much to be desired. Usually it is one
decimal place. Please let me know if you know of a more accurate method.
Artistic Hints
--------------
It is quite difficult to create a teragon with dimension close to 2
without lots of self-contact. Try it! If you can create a teragon with
dimension 1.90 or higher without self-contact let me know! The Peano curve
“Flowsnake” has lots of twists and turns, but no self-contact until the
limit is reached.
If you can find teragons which are recognizable forms please let me
know. Any form is good: country outlines, cars, faces, even Dali-esque
stuff. And of course, the simpler the template (less segments) the
better. The teragon “La France” only has four segments.
Some teragons look completely random. Others are symmetric to the
extreme. Yet others are hybrids of these two kinds. Is it possible to
tell the degree of “randomness” by looking at the template alone?
This package contains a lot of variation. But I think even more variation is
possible. Create some wild stuff!
A good addition to the present program would be a template editor,
which would allow templates to be changed easily with the mouse,
with a dynamically changing display showing what the teragon looks
like. What do you think?